Task Static Single Assignment (T-SSA) and Its Use in Safe Program Parallelization (short paper)
نویسندگان
چکیده
The mechanism of copy-on-write is recently used in speculative and deterministic parallel systems. In these systems, copy-on-write happens when a task modifies a variable for the first time. At the program level, the copying is a form of renaming. This paper extends the formalism of static single assignment (SSA) to introduce a program representation called task static single assignment (T-SSA). The new representation integrates the copy-on-write renaming across tasks with the conventional SSA renaming within a task. This position paper defines the T-SSA form and demonstrates its use in making copy-on-write explicit, automatic, and automatically enhanced for safe program parallelization.
منابع مشابه
Enhanced Parallelization via Analyses and Transformations on Array SSA Form
Array SSA form is a version of SSA form that captures precise element-level data flow information for array variables. As an example of program analysis using Array SSA form, we presented a conditional constant propagation algorithm that can lead to discovery of a larger set of constants than previous algorithms that analyze only scalar variables [7]. As an example of program transformation usi...
متن کاملExtended SSA With Factored Use-Def Chains to Support Optimization and Parallelism
This paper describes our implementation of the Static Single Assignment (SSA) form of intermediate program representation in our parallelizing Fortran 90 compiler, Nascent. Although the traditional SSA form algorithm renames variables uniquely at every deenition point, it is not practical to add new names to the symbol table at all assignments. Thus, most implementations actually provide defuse...
متن کاملIncremental Computation of Static Single Assignment Form
Abs t r ac t . Static single assignment (SSA) form is an intermediate representation that is well suited for solving many data flow optimization problems. However, since the standard algorithm for building SSA form is exhaustive, maintaining correct SSA form throughout a multi-pass compilation process can be expensive. In this paper, we present incremental algorithms for restoring correct SSA f...
متن کاملSimple Generation of Static Single-Assignment Form
The static single-assignment (SSA) form of a program provides data flow information in a form which makes some compiler optimizations easy to perform. In this paper we present a new, simple method for converting to SSA form, which produces correct solutions for nonreducible control-flow graphs, and produces minimal solutions for reducible ones. Our timing results show that, despite its simplici...
متن کاملTree SSA – A New High-Level Optimization Framework for the GNU Compiler Collection∗
In this paper we introduce Tree SSA, a new optimization framework for the GNU Compiler Collection (GCC) based on the Static Single Assignment form. The paper provides a brief historical perspective on GCC’s development, the rationale behind the new framework and its potential applications. We will also discuss some of the analyses and optimizations that are being designed and implemented on top...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2013